﻿using _03_CustomRegions.Views;
using Prism.Ioc;
using Prism.Regions;
using Prism.Unity;
using System.Windows;
using System.Windows.Controls;

namespace _03_CustomRegions
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : PrismApplication
    {
        protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {

        }


        /*
        
        地区（Regions）。区域是在应用程序的UI（在shell或视图中）中定义的逻辑占位符，其中显示视图。
        区域允许更新应用程序UI的布局，而无需更改应用程序逻辑。
        许多常用控件可用作区域，允许视图自动显示在控件中，例如ContentControl，ItemsControl，ListBox或TabControl。
        可以以编程方式或自动方式在区域内显示视图。
        Prism还为实施区域导航提供支持。
        区域可以通过RegionManager组件由其他组件定位，该组件使用RegionAdapter和RegionBehavior组件，以协调特定区域内的视图显示。
    
        */

        protected override void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings)
        {
            base.ConfigureRegionAdapterMappings(regionAdapterMappings);
            regionAdapterMappings.RegisterMapping(typeof(StackPanel), Container.Resolve<StackPanelRegionAdapter>());
        }
    }
}
